package com.wondertek.service.mapper.sys;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;


import com.wondertek.service.dto.sys.res.SysMenuTypeRes;
import com.wondertek.service.entity.sys.SysMenuPo;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * @author xqs
 */
public interface SysMenuMapper extends BaseMapper<SysMenuPo> {

    /**
     * 用户id查询菜单
     * @param userId /
     * @return /
     */
    List<SysMenuPo> findListByUserId(@Param("userId") String userId);


    /**
     * 角色id查询菜单 包含全选和非权限区分
     * @param roleId /
     * @return /
     */
    List<SysMenuTypeRes> findListByRoleIdType(@Param("roleId") String roleId);

    /**
     * 角色id查询菜单
     * @param roleId /
     * @return /
     */
    List<SysMenuPo> findListByRoleId(@Param("roleId") String roleId);


    /**
     * 用户id查询菜单
     * @param userId /
     * @return /
     */
    List<SysMenuPo> findListPermissionByUserId(@Param("userId") String userId);

    /**
     * 查询所有的公共权限
     *
     * @return
     */
    List<SysMenuPo> findCommonPermission();

    /**
     * 角色id查询菜单
     * @param roleId /
     * @return /
     */
    List<SysMenuPo> findListPermissionByRoleId(@Param("roleId") String roleId);

    List<SysMenuPo> getChilrenList(@Param("id")String id, @Param("menuType")String menuType);

    /**
     * 查询所有button
     *
     * @return
     */
    List<SysMenuPo> findListButtonPermission();
}
